package lib

func init() {
	Probs = append(Probs, Problem{
		Num:         9,
		Discription: "回文数",
		Level:       1,
		Labels: map[string]int{
			"数学": 1,
		},
	})
}

//反转一半的数
//偶数情况：x==reversedX
//奇数情况（此时reversedX比X大一位，也就是末尾多了中间那一位）：x==reversedX/10
func IsPalindrome(x int) bool {
	//小于0不算回文
	//能被10整除的数后面的逻辑不适用，直接返回false
	if x < 0 || (x%10 == 0 && x != 0) {
		return false
	}

	reversedNum := 0
	for reversedNum < x {
		last := x % 10
		reversedNum = reversedNum*10 + last
		x /= 10
	}

	return reversedNum == x || reversedNum/10 == x
}